private X509Certificate[] createValidCertificateChainWithDN(String... dns) {
X509Certificate[] result = new X509Certificate[dns.length];
X500Principal signerDN = m_keystore.getCA_DN();
KeyPair signerKeyPair = m_keystore.getCA_KeyPair();
for (int i = 0; i < result.length; i++) {
KeyPair certKeyPair = m_keystore.generateKeyPair();
String dn = dns[i];
int idx = result.length - i - 1;
result[idx] = m_keystore.createCertificate(signerDN, signerKeyPair.getPrivate(), dn, yesterday(), tomorrow(), certKeyPair.getPublic());
signerDN = result[idx].getSubjectX500Principal();
signerKeyPair = certKeyPair;
}
return result;
}
|